home *** CD-ROM | disk | FTP | other *** search
/ Grand Slam 3 / Grand Slam 3.iso / 023 / dgtrekr3.arj / DRV_SRC.EXE / MIDDRIVR.INC < prev    next >
Text File  |  1994-09-05  |  3KB  |  61 lines

  1. ; middrivr.inc
  2. ;
  3. ; Assembler:    Microsoft MASM 6.0
  4. ;
  5. ; This file contains information about the DigiTrekker MIDI driver layout
  6. ; including constant values and description of parameters to functions
  7. ;--------------------------------------------------------------------------
  8.  
  9.  
  10. ;---------------------------------.
  11. ; header of a MIDI device driver  |
  12. ;---------------------------------+----------------------------------------
  13. ; This header must start at the first byte of the driver
  14.  
  15. midDriverHeader         struc
  16.     signature       db    8 dup (?) ; "MIDIDRV",EOF
  17.     dispatcher      dw      ?       ; entry point for function calls
  18.                     ;   e.g. offset myDispatcher
  19.     infoStr         dw      ?       ; Offset of ASCIIZ-information string
  20.                     ;   (description of MIDI card,(C)... )
  21. midDriverHeader         ends
  22.  
  23. ;----------------------------------------------------.
  24. ; function numbers passed to the dispatcher function |
  25. ;----------------------------------------------------+---------------------
  26. MDRV_Init       equ     0       ; hook interrupts, search soundcard, ...
  27. MDRV_SetClient  equ     1       ; set address message handler function
  28. MDRV_Write      equ     2       ; write a byte to MIDI
  29. MDRV_Terminate  equ     3       ; unkook interrupts, clean up
  30.  
  31. COMMENT #
  32.  
  33. ;======== dispatcher ==================
  34. ; Interface between the driver and DigiTrekker. All functions are called
  35. ; thru passing a function number to the dispatcher.
  36. ; I: BX     function number (see the MDRV_* constants)
  37. ;    ...    specific for the function
  38. ; O: CARRY  error, AX=error code
  39. ;    ...    specific for the function 
  40.  
  41. ;======== MDRV_Init ====================
  42. ; This function is called at startup to initialize the driver.
  43. ; Typical actions are installing interrupt handlers, resetting the Card and
  44. ; returning an error status if card won't work
  45. ; I: -
  46. ; O: error   (ERR_NoCard)
  47.  
  48. ;======== MDRV_SetClient ===============
  49. ; Set the MIDI message handler function. Every time a full MIDI message with
  50. ; all data bytes has been received, this function should be called.
  51. ; The function is in C style and expect a far pointer to the midi message as
  52. ; the only parameter on the stack. The first byte of the message is the
  53. ; command, all following are data bytes.
  54. ; A null pointer for the handler will disable tracking MIDI messages
  55. ;
  56. ; Notice: The handler will alter many registers, so save them !!!
  57. ; I: EAX  far pointer to handler function (seg=HIWORD, offs=LOWORD(=AX))
  58. ; O: error
  59.  
  60. # ENDCOMMENT
  61.